home *** CD-ROM | disk | FTP | other *** search
- 0660000020266
- 1
- 2Seite #
- 9[....................................................]
- êFileinterfacefürdasVoksforth83
- ÇêaufdemAtariST
-
- ÇêGettingstartedÇ
-
- BevorSiedasGlossarlesen,solltenSiediesekleineEinführung
- lesenundaufeinerleerenDiskettedieBeispieleausprobieren.
-
- êWieerzeugeicheinFile,indasicheinProgrammeingebenkann?Ç
-
- GebenSiebittefolgendesein:
-
- MAKEFILEtest.scr
-
- DasFiletest.scrwirdaufdemLaufwerkerzeugt,aufdemSie
- dasForthgebootethaben.
- AlsnächstesschätzenSiebitteab,wielangIhrProgramm
- etwawird.BeachtenSiedabeibitte,daßderScreen0eines
- FilesfürHinweisezurHandhabungihresProgrammsundder
- Screen1füreinensog.Loadscreen(dasisteinScreen,der
- denRestdesFileslädt)reserviertsind.WollenSiealso
- z.B.3ScreensProgrammeingeben,somußdasFile5Screens
- langsein;Siegebenalsoein:
-
- 5MORE
-
- Fertig!SiehabenjetzteinFile,dasdieScreens0..4
- enthält.GebenSiejetzt
-
- 1L
-
- ein.SieeditierenjetztdenScreen1IhresneuenFiles
- test.scr.Siekönnen,fallsderPlatznichtausreicht,Ihr
- FilespätereinfachmitMOREverlängern.EinFilekann
- leidernichtverkürztwerden.
-
- ê
- WiesprecheicheinbereitsaufderDiskettevorhandenesFilean?
-
- ÇDasgehtnocheinfacher.GebenSieeinfachdenFilenamenein.
- ReagiertdasSystemmitderMeldung"Haeh?",sokenntdas
- ForthdiesesFilenochnicht.SiemüssenindiesemFalldas
- WortUSEvordemFilenameneingeben,alsoz.B.
-
- USEtest.scr
-
- JetztkönnenSiewieobenbeschriebenmit1L(odereiner
- anderenZahl)dasFileeditieren.DasWortUSEerzeugt
- übrigensimForthsystemdasWortTEST.SCR,fallsesnoch
- nichtvorhandenwar.WissenSiealsonichtmehr,obSieein
- Fileschonbenutzthaben,sokönnenSiemitWORDS
- nachsehenoderdasWort USE voranstellen.
-
- ê
- ♪≈WieerzeugeichFilesaufeinemvorgegebenemLaufwerk,z.B.A:?
-
- ÇEntwederdurchVoranstellendesPfadnamensoderdurchEingabe
- von:
-
- A:
-
- HierbeiwirdA:zumaktuellenLaufwerkgemacht.
-
- êWiesprecheichDirectoriesan?
- Ç
- HierbeigibtesverschiedeneMethoden.FürdenAnfang
- versuchenwir,FilesineinemDirectory"test.dir"zusuchen
- bzw.zuerzeugen.DazugebenSieein:
-
- dirtest.dir
-
- Jetztwerdenintest.diralleFilesundDirectorieserzeugt
- undgesucht.IstdasDirectory"test.dir"nochnicht
- vorhanden,soerzeugenSieesmit:
-
- makedirtest.dir
-
- AnschließendkönnenSiewiederDIRbenutzen.
-
-
- ê0)Allgemeines
- Ç
- ImfolgendenwirddieBenutzungdesFileinterfacesbeschrieben.
- DiesesFileinterfacebenutztdieFilesdesGEM-Dosunddessen
- Subdirectories.
-
- BenutztmaneinFilevonForthaus,sowirdesinBlöckezuje
- 1024Bytesaufgeteilt,dieingewohnterWeiseanzusprechensind.
- DiestrifftauchfürFileszu,dienichtvomForthauserzeugt
- wurden.AlsKonventionwirdvorgeschlagen,daßFiles,dieForth-
- Screens,alsoQuelltexte,enthalten,mit.SCRerweitertwerden.
- Files,dieDatenenthalten,dienichtunmittelbarlesbarsind,
- solltenauf.BLKenden.
-
- ZumUmschaltenvomFilesystemaufDirektzugriffundumgekehrtgibt
- esdasWort
-
- DIRECT (--)
- schaltetaufDirektzugriffum.AufdenFilezugriffschalten
- wirdurchdasNenneneinesFilenamensum.
-
-
- 1)êDerDirectory-MechanismusÇ
-
- DieVerwaltungvonDirectoriesentsprichtinetwaderdesGEM-Dos
- Command-interpretersCOMMAND.PRG
-
- PATH(--)
- DiesesWortgestattetes,mehrereDirectoriesnacheinemzu
- öffnendenFiledurchsuchenzulassen.Dasistdann
- praktisch,wennmanmitmehrerenFilesarbeitet,diesichin
- verschiedenenDirectoriesoderDiskstationenbefinden.Es
- wirdindenfolgendenFormenbenutzt:
-
- PATHdir1;dir2;....
-
- Hierbeisind<dir1>,<dir2>etc.Pfadnamen.WirdeinFileauf
- demMassenspeichergesucht,sowirdzunächst<dir1>,dann
- <dir2>etc.durchsucht.ZumSchlußwirddasFiledannim
- aktuellenDirectory(sieheDIR)gesucht.BeachtenSiebitte,
- daßkeineLeerzeicheninderReihederPfadnamenauftreten
- dürfen.
-
- Beispiel:PATHA:\;B:\COPYALL.DEM;\AUTO\
- IndiesemBeispielwirdzunächstdieDiskstationA,dann
- dasDirectoryCOPYALL.DEMaufDiskstationBund
- schließlichdasDirectoryAUTOaufdemaktuellen
- Laufwerk(sieheSETDRIVE,A:undB:)gesucht.Beachten
- SiebittedasZeichen"\"vorundhinterAUTO.Das
- vordereZeichen"\"stehtfürdasHauptdirectory.Wird
- esweggelassen,sowird AUTO\ andasmit DIR
- gewählteDirectoryangehängt.DashintereZeichen"\"
- trenntdenFilenamenvomPfadnamen.
-
- AußerdemkönnenSieeingeben:
-
- PATH;
-
- IndiesemFallwerdenallePfadegelöschtundeswirdnur
- nochdasaktuelleDirectorydurchsucht.
- Schließlichgehtnoch:
-
- PATH
-
- DanndrucktPATHdieReihederPfadnamenaus.
- DiesesWortentsprichtdemKommandoPATHdesKommando-
- inteters.
-
- MAKEDIR cccc (--)
- ErzeugtimaktuellenDirectory(sieheDIR)einDirectorymit
- NamenCCCC.
- DiesesWortentsprichtdemKommandoMDdesKommando-
- interpreters.
-
- A: (--)
- MachtdieDiskstationA:zumaktuellenLaufwerk(siehe
- SETDRIVE).
- DiesesWortentsprichtdemKommandoA:desKommando-
- interpreters.
-
- B: (--)
- MachtdieDiskstationB:zumaktuellenLaufwerk(siehe
- SETDRIVE).
- DiesesKommandoentsprichtdemKommandoB:desKommando-
- interpreters.
-
- SETDRIVE (n--)
- MachtdieDiskstationmitderNummernzuaktuellenLaufwerk.
- Hiebeientsprichtn=0derDiskstationA,n=1derDiskstation
- Busw.
- AufdemaktuellenLaufwerkwerdenFilesundDirectories
- erzeugt(undnachDurchsuchenvonPATHgesucht).Das
- Directory,indemFileserzeugtwerden,wirdmitDIR
- angegeben.
-
- ♪≈DIR (--)
- WirdindenfolgendenFormenbenutzt:
-
- DIRcccc
-
- <cccc>isteinPfadname,andenneuzuerzeugendeFilesund
- Directoriesangehängtwerden.
- Beispiel:
-
- A:DIRAUTO
-
- erzeugtallefolgendenFilesimDirectoryAUTOaufder
- DiskstationA.In<cccc>könnenallevomGEM-Dos
- zugelassenenZeichenaußerLeerzeichenverwendetwerden.
-
- Außerdemgehtnoch
-
- DIR
-
- ohneweitereEingabenwirdderaktuelleSuchpfad
- einschließlichdesLaufwerksangezeigt.
- DiesesWortentsprichtdemKommandoCDdesKommando-
- interpreters.
-
- FILES (--)
- ListetdenInhaltdesaktuellenDirectories(sieheDIRund
- SETDRIVE)aufdemBildschirmauf.Verweiseaufandere
- DirectorieswerdendurchdasvomGEM-DesktopbekannteSymbol
- dargestellt.
- DiesesWort,zusammenmitdemWortFILES"entsprichtdem
- KommandoDIRdesKommandointerpreters.
-
- FILES" (--)
- BenutztinderForm
-
- FILES"cccc"
-
- ListetdieFilesauf,derenNameCCCCist.DerStringCCCC
- darfdiebekanntenWildcardssowieeinenPfadnamenenthalten.
- WirdkeinPfadnamebzw.Laufwerkangegeben,sowerdendie
- FilesdesaktuellenDirectoriesbzw.Laufwerksausgegeben.
-
-
- SAVESYSTEM(--)
- BenutztinderForm
-
- SAVESYSTEM<name>
-
- DamitläßtsicheinFORTH-SystemimgegenwärtigenZustand
- unterdemNamen<name>abspeichern.DiesesWortwirdbenutzt,
- umfertigeApplikationenzuerzeugen.IndiesemFallsollte
- dasWort,dasdieApplikationausführt,in'COLDgepatched
- werden.EinBeispiel:SiehabeneinKopierprogramm
- geschrieben;dasobersteausführendeWortheißtCOPYDISK.Mit
- derSequenz
-
- 'COPYDISKIS'COLD<Return>
- SAVESYSTEMCOPY.PRG<Return>
-
- erhaltenSieeinProgammnamensCOPY.PRG,dassofortbeim
- StartCOPYDISKausführt.
-
- ê2)FilesÇ
-
- FilesbestehenauseinemForthnamenundeinemGEM-Dos-Namen,die
- nichtübereinstimmenmüssen.
- IstdasForthwort,unterdemeinFilezugreifbarist,gemeint,so
- wirdimfolgendenvomêForthfileÇgesprochen.IstdasFileaufder
- Diskettegemeint,dasvomGEM-Dosverwaltetwird,sowirdvomêGEM-
- FileÇgesprochen.DurchdasNennendesForthnamenswirddas
- Forthfile(unddaszugeordneteGEM-File)zumêaktuellenFileÇ,auf
- dassichalleOperationenwieLIST,LOAD,CONVEYusw.beziehen.
- BeimÖffneneinesFileswirddiemitPATHangegebeneFolgevon
- Pfadnamendurchsucht.IsteinFileeinmalgeöffnet,sokanndiese
- Folgebeliebiggeändertwerden,ohnedaßderZugriffaufdasFile
- behindertwird.AusSicherheitsgründenempfiehltessichaber,
- Filessooftundsolangewieirgendmöglichgeschlossenzu
- halten.DannkanneineÄnderungderFolgevonPfadnamendazu
- führen,daßeinFilenichtmehrgefundenwird.
-
-
- FILE (--)
- WirdinderForm:
-
- FILE<name>
-
- benutzt.
- ErzeugteinForthwortmitNamen<name>.Wird<name>später
- ausgeführt,sovermerktessichalsaktuellesFile..Ebenso
- vermerktessichalsFROMFILE,wasfürCONVEYwichtigist.
- EinemForthfilewirdmitMAKEoderASSIGNeinGEM-File
- zugeordnet.
-
- MAKE (--)
- WirdinderForm:
-
- MAKEcccc
-
- benutzt.ErzeugteinGEM-FilemitNamenccccim
- aktuellenDirectoryundordnetesdemaktuellenForthfilezu.
- DasFilewirdauchgleichgeöffnet.EshatdieLängeNull
- (sieheMORE).
-
- Beispiel:FILEtest.scr
- test.scrMAKEtest.scr
-
- erzeugteinForthwortTEST.SCRundeinFilegleichenNamens.
- AlleOperationenwieLOAD,LISTusw.beziehensichnunauf
- denentsprechendenScreeninTEST.SCR.BeachtenSiebitte,
- daßdiesesFilenochleeristunddahereineFehlerbedingung
- besteht,wennZugriffsoperationenausgeführtwerdensollen.
-
- ♪≤MAKEFILE (--)
- WirdinderfolgendenFormbenutzt:
-
- MAKEFILE<name>
-
- ErzeugteinForthfilemitNamen<NAME>underzeugt
- anschließendeinGEM-FilemitdemselbenNamen.DieSequenz
-
- FILE<name>
- <name>MAKE<name>
-
- würdegenaudasselbebewirken.
-
- ASSIGN (--)
- WirdinderForm
-
- ASSIGNcccc
-
- benutzt.OrdnetdemaktuellenFiledasGEM-FilemitNamen
- CCCCzu.EineFehlerbedingungbesteht,wenndasFilenicht
- gefundenwerdenkann.
-
- USE (--)
- êDiesesWortistdaswichtigsteWortzumAuswählenvonFiles.
- Ç
- EswirdinderfolgendenFormbenutzt:
-
- USE<name>
-
- DiesesWortmachtdasFilemitNamen<NAME>zumaktuellen
- File,aufdassichLOAD,LISTusw.beziehen.Eserzeugtein
- ForthfilemitNamen<NAME>,fallsderNamenochnicht
- vorhandenwar.
- AnschließendwirddasFileindenDirectories,diemitPATH
- angegebenwurden,gesucht.Wirdesdortnichtgefunden,wird
- dasmitSETDRIVE(bzw.A:undB:)undDIRangegebene
- Directorydurchsucht.WirdauchdortkeinGEM-DosFilemit
- demNamen<NAME>gefunden,sowirddieFehlermeldungFILE
- NOTFOUNDausgegeben.Das(automatisch)erzeugteForthfile
- verbleibtimDictionaryundmußggf.mit FORGET vergessen
- werden.
-
- CLOSE (--)
- SchließtdasaktuelleFile.Dabeiwirddas
- InhaltsverzeichnisderDisketteaktualisiertunddiesog.
- Handlenummerwiederfreigegeben.Eswerdendiezudiesem
- FilegehörendengeändertenBlöckeaufdieDiskette
- zurückgeschriebenundallezudiesemFilegehörendenBlöcke
- gelöscht.
-
- OPEN (--)
- ÖffnetdasaktuelleFile.EineFehlerbedingungbesteht,wenn
- dasFilenichtgefundenwerdenkann.DieBenutzungdieses
- WortesistindenmeistenFällenüberflüssig,daFiles
- automatischbeieinemZugriffgeöffnetwerden.
-
- ♪⌠FROM (--)
- WirdinderfolgendenFormbenutzt:
-
- FROM<name>
-
- <NAME>istderNameeinesForthfiles,ausdembeimAufruf
- vonCONVEYundCOPYBlöckeherauskopiertwerdensollen.
-
- Beispiel:filea1FROMfileb3copy
-
- KopiertdenBlock1ausFILEBaufdenBlock3vonFILEA.
- DiesesWortbenutzt USE umdasFileauszuwählen.Das
- bedeutet,daß fileb automatischalsForthfileangelegtwird,
- wennesnochnichtimSystemvorhandenist.
-
- LOADFROM(n--)
- WirdinderfolgendenFormbenutzt:
-
- LOADFROM<name>
-
- <NAME>istderNameeinesForthfiles,ausdemderBlockn
- geladenwird.
-
- Beispiel:15LOADFROMfilea
-
- LädtdenBlock15ausFILEA.DiesesWortistwichtig,wenn
- währenddesLadenseinesFilesTeileeinesanderenFiles
- geladenwerdensollen.DamitkanndieFunktioneinesLinkers
- imitiertwerden.DiesesWortbenutzt USE ,um filea zu
- selektieren.Dasbedeutet,daßautomatischeinForthfilemit
- Namen filea erzeugtwird,fallsesimSystemnochnicht
- vorhandenwar.
- BeachtenSiebitte,daßdiesesWortnichtsmitFROModer
- FROMFILEzutunhat,obwohlesähnlichheißt!
-
- INCLUDE (--)
- WirdinderfolgendenFormbenutzt:
-
- INCLUDE<name>
-
- <NAME>istderNameeinesForthfiles,dasvollständiggeladen
- wird.DabeiistVoraussetzung,daßaufScreen1diesesFiles
- Anweisungenstehen,diezumLadenallerScreensdiesesFiles
- führen.SieheauchLOADFROM.
-
- CAPACITY (--u)
- uistdieLängedesaktuellenFiles.BeachtenSiebitte,daß
- dieLängedesFilesumeinsgrößeristalsdieNummerdes
- letztenBlocks,daderBlock0mitgezähltwird.
-
- FORTHFILES (--)
- DruckteineListeallerForthfiles,zusammenmitdenNamen
- derzugehörigenGEM-Files,derenLängeundHandlenummeraus.
-
- FROMFILE (--addr)
- AddristdieAdresseeinerVariablen,dieaufdasForth-File
- zeigt,ausdemCONVEYundCOPYBlöckelesen.Sieheauch
- FROM.BeiNenneneinesForth-FileswirddieseVariable
- gesetzt.
-
- ♪ⁿLOADFILE (--addr)
- AddristdieAdresseeinerVariablen,dieaufdasForth-File
- zeigt,dasgeradegeladenwird.DieseVariablewirdbei
- AufrufvonLOAD,THRUusw.aufdasaktuelleFilegesetzt.
-
- ISFILE (--addr)
- addristdieAdresseeinerVariablen,dieaufdasaktuelle
- Forth-Filezeigt.SiewirdbeiAusführeneinesForth-Files
- gesetzt.
-
- FILE? (--)
- DrucktdenNamendesaktuellenForthfiles.
-
- MORE (n--)
- VerlängertdasaktuelleFileumnScreens.DieScreens
- werdenhintenangehängt.AnschließendwirddasFile
- geschlossen.
-
- (MORE(n--)
- WieMORE,jedochwirddasFilenichtgeschlossen.
-
- EOF(--f)
- fisteinFlag,daswahrist,fallsüberdasEndedesFiles
- hinausgelesenwurde.fistfalsch,fallsaufdaszuletzt
- geleseneByteimFilenochweitereBytesfolgen.
-
-
-
-
- ê3)VerschiedenesÇ
-
-
- BeimVergesseneinesForth-FilesmitHilfevonFORGET,EMPTYusw.
- werdenautomatischalleBlockpuffer,dieausdiesemFilestammen,
- gelöscht,und,wennsiegeändertwaren,aufdieDiskette
- zurückgeschrieben.DasFilewirdanschließendgeschlossen.
-
- BeiVerwendungvonFLUSHwerdenalleFilesgeschlossen.FLUSH
- sollteüVORÇjedemDiskettenwechselausgeführtwerden,undzwar
- nichtnur,umdiegeändertenBlöckezurückzuschreiben,sondern
- auchdamitalleFilesgeschlossenwerden.SindnämlichFiles
- gleichenNamensaufderneuenDiskettevorhanden,sowirdsonst
- eineabweichendeLängedesneuenFilesvomForthnichterkannt.
-
- BeiVerwendungvonVIEWwirdautomatischdasrichtigeFile
- geöffnet.
-
-